class Solution:
    def rangeBitwiseAnd(self, m: int, n: int) -> int:
        # 不断向右移动直到两个一大一小的数字变成相等，得到的就是公共前缀，
        # 在这个过程中记录下移过多少位，最后返回添上0的数字
        
        shift = 0

        while(m<n):
            m = m >> 1
            n = n >> 1
            shift = shift + 1
        
        return n << shift